from django.db import models

# Create your models here.
class Department (models.Model):
    # 部门表
    # verbose_name相当于备注，可写可不写
    title=models.CharField(verbose_name='部门名称',max_length=32)
    def __str__(self):
        return self.title # 打印对象具体的属性

class Userinfo(models.Model):
    # 员工信息表
    # CharField 后面的长度是必须要写的  "CharFields must define a 'max_length' attribute."
    name=models.CharField(verbose_name="姓名",max_length=32)
    age=models.IntegerField(verbose_name="年龄")
    salary=models.DecimalField(verbose_name='工资',max_digits=7,decimal_places=2,default=0)
    creat_time=models.DateTimeField(verbose_name='创建时间')

    #在django中约束，性别只能选择 1或者0
    # ???这里好像是固定写法
    gender_choices=(
        (1,"男"),
        (0,"女"),
    )
    gender=models.SmallIntegerField(verbose_name="性别",choices=gender_choices)  # 必须写成 choices
    # 去连接部门表id  to 关联表名   to_field 关联字段
    # depart_id  自动生成加id变成depart_id
    # on_delete=models.CASCADE   当部门被删除 用户也被删除 【级联删除】
    depart=models.ForeignKey(verbose_name='部门',to='Department',to_field='id',on_delete=models.CASCADE)
    #on_delete=models.SET_NULL() 当部门被删除，用户部门列为空 【置空】    --  前提要设置允许为空
    # depart=models.ForeignKey(to='Department',to_field='id',null=True,blank=True,on_delete=models.SET_NULL())

class TelNumber(models.Model):
    """
    电话-靓号记录表
    """
    number=models.CharField(verbose_name='电话号码',max_length=11)
    # 允许为空：null=True,blank=True
    price=models.IntegerField(verbose_name='号码价格',null=True,blank=True)
    level_choices=(
        (1,'1级'),
        (2,'2级'),
        (3,'3级'),
    )
    level=models.SmallIntegerField(verbose_name='等级',choices=level_choices,default=1)#  default默认值设置
    status_choices=(
        (1,'已使用'),
        (2,'未使用'),
    )
    status=models.SmallIntegerField(verbose_name='使用状态',choices=status_choices)

class Admin(models.Model):
    """
    管理员账号
    """
    name=models.CharField(verbose_name='姓名',max_length=32,null=False,blank=False)
    password=models.CharField(verbose_name='密码',max_length = 64,null=False,blank=False)